Traditional MIMO transmitters provide power allocation to received transmission streams (e.g., using components of a constellation encoder) before those streams are precoded. Precoding is subsequently applied to the streams for which power allocation was provided and then the precoded data is sent to one of several transmission ports of the MIMO transmitter. Due to the fact that power allocation is provided before the transmission streams are sent to the transmission ports (e.g., before being precoded), power allocation cannot vary at any given time across the transmission ports. This makes such MIMO transmitters unsuitable for application in circumstances requiring different power allocations across antennas or outputs.